sql - GROUP BY 和 ORDER BY
全部标签 我有一个表格如下:datetable_namecount_table2018-07-19A502018-07-19B402018-07-18A252018-07-18B302018-07-17A102018-07-17B5我想计算每个日期之间的计数差异。结果表如下:date1date2table_namediff2018-07-172018-07-18A152018-07-182018-07-19A252018-07-172018-07-18B252018-07-182018-07-19B10`谢谢你的帮助 最佳答案 如果存在多个日
我正尝试在impala中抽取一张table的20%。我在某处听说内置的impala采样功能有问题。有没有办法将子查询传递给impalalimit函数以对整个表进行n%的采样。我有这样的东西:select*fromtable_aorderbyrand()limit(selectround((count(distinctids))*.2,0)fromtable_a))子查询给了我所有记录的20% 最佳答案 我不确定Impala是否有特定的采样逻辑(某些数据库有)。但是你可以使用窗口函数:selecta.*from(selecta.*,r
我有一个SQL表,需要检查两个日期中的最新日期,创建一个新列。可能有也可能没有这两个值,在这种情况下它默认为一个。我有一个这样的生产案例:+----------+----------+-----------+|device|activity|date|+----------+----------+-----------+|device1|stage|3/20/2018||device1|test|3/30/2018||device2|stage|6/1/2018||device2|test|[null]|+----------+----------+-----------+我需要得到这
首先选中想要导入的数据库,右键选中“SQLScripts”点击“RunSQLScripts...” 然后选择要导入的sql脚本文件,运行即可
我想通过hivejdbc连接将整个hive表加载到spark内存中。并且已经在我的项目中添加了hive-site.xml、hdfs-site.xml。由于成功获取列名(eg.role_id),spark已经连接到hive。但是spark似乎将列名加载为数据,并抛出异常。这是我的代码:valdf=spark.read.format("jdbc").option("driver",CommonUtils.HIVE_DIRVER).option("url",CommonUtils.HIVE_URL).option("dbtable","datasource_test.t_leave_map_
我有如下内容:ID-LIST_NAME-PRICE1-WASIA-1001-GASIA-1502-WSPAIN-1503-GMIAMI-1252-GSPAIN-1002-GMIAMI-1502-WMIAMI-125我希望输出为:2-WSPAIN-1502-GSPAIN-100因为W版比G版贵。如果它基本上可以在同一行显示两者,那就更好了:2-WSPAIN-150-GSPAIN-100不同的LIST_NAME可以有很多次ID,一个ID不必包含每个LIST_NAME(例如3没有WMIAMI) 最佳答案 这是一种使用自join和stuff
我正在尝试将文本文件加载到配置单元数据库中,文本文件中的值是,分隔的,这些值中有一个值是数组类型。这是我的示例数据。101,suresh,67,45,67,21,hyderabad这里:101:学号suresh:学生姓名67,45,67,21:学生成绩hyderabad:学生所在地这里我需要如何加载到配置单元中101,suresh,[67,45,67,21],hyderabad标记字段必须作为数组类型加载。我该怎么做? 最佳答案 您可以使用regexserde并创建文本表。问题出在数组类型,因为regexserde不允许数组数据类型
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我对Hive的理解是它提供了一种使用SQL命令查询HDFS的方法。好的,但还有Spark。Spark拥有所有RDD类方法,这些方法完全有能力,但我更喜欢SQL。输入SparkSQL。所以现在我可以使用SparkSQL通过SQL查询我的数据库,为什么Hive会出现?文档说:enableHiveSupport():EnablesHivesupport,includingconnectivity
我有两张table。表A有3列:用户标识、开始日期和结束日期。带有事件和日期时间戳的表B。我想根据表A将表B汇总到开始日期和结束日期之间的日期时间。所以类似...selecta.userid,count(distinctb.eventid)aseventsfromtableainnerjointablebona.userid=b.useridandb.datetimebetweena.starttimeandb.endtimegroupbya.userid但Hive不喜欢那样...我正在使用HadoopHortonWorks。非常感谢任何指导! 最佳答案
我使用Hadoop/hive,在处理以“00”开头的字符串数据时遇到问题。假设“00123”在Hadoop表中存储为string。我的问题是以下2个查询未按原样显示“00123”。而是显示“123”。从DB.TABLE中选择id,其中id="00123"从DB.TABLE中选择类型转换(id为字符串),其中id="00123"我在Zeppelin上运行上面的查询。谁能帮忙?不确定问题是由于Hadoop还是Zeppelin。 最佳答案 此错误已在ZEPPELIN-3701中修复(缺少前几个'0',结果表中数字精度下降)等待0.8.1版